#pragma once
#include <iostream>
using namespace std;
#include "DataStruct.h"
class CBasisFunction
{

public:
	double FE_basis_local_func_2D(CPoint x, vector<CPoint> vertices, BASIS_TYPE basis_type, int basis_index, int basis_der_x, int basis_der_y);
	double FE_reference_basis_func_2D(CPoint xh, BASIS_TYPE basis_type, int basis_index, int basis_der_x, int basis_der_y);
	BASIS_TYPE getType() { return m_dType; }
	void setType(BASIS_TYPE type) { m_dType = type; }
private:
	//type of the basis function
	BASIS_TYPE m_dType;	
};

